#!/usr/bin/js

// Definición de la clase Partido
function Partido(local,visitante) { 
  this.local = local;
  this.visitante=visitante;
  this.resultado=null;
  //Estas son variables 
  this.setResultado = setResultado;
  this.toString = toString;
  // y estos son métodos de clase 
}
function setResultado( esteResultado ) { 
  if ( esteResultado == '1' || esteResultado=='x' || esteResultado=='2' ) 
    // sólo valores válidos 
  this.resultado = esteResultado;
}
function toString() { 
  return "Partido " + i + ": " + quiniela[i].local + " - " + quiniela[i].visitante + " = "+ this.resultado;
} 

var equipos= new Array('Madrid', 'Barça', 'Atleti', 'Geta', 'Betis', 'Depor', 'Sevilla', 'Graná');

function jornada( estosEquipos ) { 
	var equiposAqui = new Array;
	equiposAqui = equiposAqui.concat(estosEquipos);
	var midsize = equiposAqui.length/2;
	var quiniela = new Array( midsize );
	var unox2 = new Array( '1','x','2');
	for ( var i=0;i < midsize ;i++ ) { 
		var equipo1 = equiposAqui.splice(Math.floor( equiposAqui.length*Math.random()) , 1);
		var equipo2 = equiposAqui.splice(Math.floor( equiposAqui.length*Math.random()), 1);
		quiniela[i] = new Partido( equipo1, equipo2 );
		quiniela[i].setResultado( unox2[Math.floor( 3*Math.random()) ]);
	}
	return quiniela;
} 
var quinielas = new Array;
for ( var i = 0;i < 10;i ++ ) { 
	quinielas[i] = jornada( equipos );
}

//*********************************************************************
// Modificado a partir de aquí

var resultados= new Array;
for ( var i in equipos ) { 
	// Añadida estadística de ganados, empatados y perdidos
	resultados[equipos[i]] = new Object;
	resultados[equipos[i]].puntos = 0;
	resultados[equipos[i]].ganados = 0;
	resultados[equipos[i]].empatados = 0;
	resultados[equipos[i]].perdidos = 0;
} 
for ( var i = 0;i < quinielas.length;i ++ ) { 
	for ( var j = 0;j < quinielas[i].length;j ++ ) { 
		var local = quinielas[i][j].local;
		var visitante = quinielas[i][j].visitante;
		var resultado = quinielas[i][j].resultado;
		if ( resultado == 1 ) { 
			// Se guarda la nueva estadística también
			resultados[local].puntos+=3;
			resultados[local].ganados+=1;
			resultados[visitante].perdidos+=1;
		} else if ( resultado == 'x' ) { 
			resultados[local].puntos+=1;
			resultados[visitante].puntos+=1;
			resultados[local].empatados+=1;
			resultados[visitante].empatados+=1;
		} else { // resultado == 2 
			resultados[visitante].puntos+=3
			resultados[visitante].ganados+=1;
			resultados[local].perdidos+=1;
		}
	}
} 

// Por último, mostramos unos resultados más detallados
for ( var i in resultados ) { 
	print( i + ": " + resultados[i].puntos);
	print( "  + ganados: " + resultados[i].ganados);
	print( "  + empatados: " + resultados[i].empatados);
	print( "  + perdidos: " + resultados[i].perdidos);
}

